<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">

	<title>ASRangeControllerDataSource Protocol Reference</title>

	<link rel="stylesheet" href="../css/style.css">
	<meta name="viewport" content="initial-scale=1, maximum-scale=1.4">
	<meta name="generator" content="appledoc 2.2.1 (build 1334)">
</head>
<body class="appledoc">
	<header>
		<div class="container" class="hide-in-xcode">
			
			<h1 id="library-title">
				<a href="../index.html">  </a>
			</h1>

			<p id="developer-home">
				<a href="../index.html">AsyncDisplayKit</a>
			</p>
			
		</div>
	</header>

	<aside>
		<div class="container">
			<nav>
				<ul id="header-buttons" role="toolbar">
					<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>

					<li id="on-this-page" role="navigation">
						<label>
							On This Page

							<div class="chevron">
								<div class="chevy chevron-left"></div>
								<div class="chevy chevron-right"></div>
							</div>

							<select id="jump-to">
	<option value="top">Jump To&#133;</option>
	
	<option value="overview">Overview</option>
	

	
	
	<option value="tasks">Tasks</option>
	
	

	
	

	

	
	<optgroup label="Instance Methods">
		
		<option value="//api/name/interfaceStateForRangeController:">- interfaceStateForRangeController:</option>
		
		<option value="//api/name/scrollDirectionForRangeController:">- scrollDirectionForRangeController:</option>
		
		<option value="//api/name/viewportSizeForRangeController:">- viewportSizeForRangeController:</option>
		
		<option value="//api/name/visibleNodeIndexPathsForRangeController:">- visibleNodeIndexPathsForRangeController:</option>
		
	</optgroup>
	
	
</select>
						</label>
					</li>
				</ul>
			</nav>
		</div>
	</aside>

	<article>
		<div id="overview_contents" class="container">
			<div id="content">
				<main role="main">
					<h1 class="title">ASRangeControllerDataSource Protocol Reference</h1>

					
					<div class="section section-specification"><table cellspacing="0"><tbody>
						<tr>
	<th>Conforms to</th>
	<td>NSObject</td>
</tr><tr>
	<th>Declared in</th>
	<td>ASRangeController.h</td>
</tr>
						</tbody></table></div>
					

                    
					
					<div class="section section-overview">
						<a title="Overview" name="overview"></a>
						<h2 class="subtitle subtitle-overview">Overview</h2>
						<p>Data source for ASRangeController.</p>

<p>Allows the range controller to perform external queries on the range.
Ex. range nodes, visible index paths, and viewport size.</p>
					</div>
					
					

					
					
					<div class="section section-tasks">
						<a title="Tasks" name="tasks"></a>
						

						
						

						<div class="task-list">
							<div class="section-method">
	<a name="//api/name/visibleNodeIndexPathsForRangeController:" title="visibleNodeIndexPathsForRangeController:"></a>
	<h3 class="method-title"><code><a href="#//api/name/visibleNodeIndexPathsForRangeController:">&ndash;&nbsp;visibleNodeIndexPathsForRangeController:</a></code>
<span class="task-item-suffix">required method</span></h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>Sender.</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (NSArray&lt;NSIndexPath*&gt; *)visibleNodeIndexPathsForRangeController:(ASRangeController *)<em>rangeController</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>rangeController</code></th>
						<td><p>Sender.</p></td>
					</tr>
				
				</table>
			</div>
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>an array of index paths corresponding to the nodes currently visible onscreen (i.e., the visible range).</p>
			</div>
			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">ASRangeController.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/scrollDirectionForRangeController:" title="scrollDirectionForRangeController:"></a>
	<h3 class="method-title"><code><a href="#//api/name/scrollDirectionForRangeController:">&ndash;&nbsp;scrollDirectionForRangeController:</a></code>
<span class="task-item-suffix">required method</span></h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>Sender.</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (ASScrollDirection)scrollDirectionForRangeController:(ASRangeController *)<em>rangeController</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>rangeController</code></th>
						<td><p>Sender.</p></td>
					</tr>
				
				</table>
			</div>
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>the current scroll direction of the view using this range controller.</p>
			</div>
			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">ASRangeController.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/viewportSizeForRangeController:" title="viewportSizeForRangeController:"></a>
	<h3 class="method-title"><code><a href="#//api/name/viewportSizeForRangeController:">&ndash;&nbsp;viewportSizeForRangeController:</a></code>
<span class="task-item-suffix">required method</span></h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>Sender.</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (CGSize)viewportSizeForRangeController:(ASRangeController *)<em>rangeController</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>rangeController</code></th>
						<td><p>Sender.</p></td>
					</tr>
				
				</table>
			</div>
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>the receiver&rsquo;s viewport size (i.e., the screen space occupied by the visible range).</p>
			</div>
			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">ASRangeController.h</code></p>
			</div>
			
			
		</div>
	</div>
</div><div class="section-method">
	<a name="//api/name/interfaceStateForRangeController:" title="interfaceStateForRangeController:"></a>
	<h3 class="method-title"><code><a href="#//api/name/interfaceStateForRangeController:">&ndash;&nbsp;interfaceStateForRangeController:</a></code>
<span class="task-item-suffix">required method</span></h3>

	<div class="method-info">
		<div class="pointy-thing"></div>

		<div class="method-info-container">
			
			
			<div class="method-subsection brief-description">
				<p>Sender.</p>
			</div>
			
		    

			<div class="method-subsection method-declaration"><code>- (ASInterfaceState)interfaceStateForRangeController:(ASRangeController *)<em>rangeController</em></code></div>

		    
			
			<div class="method-subsection arguments-section parameters">
				<h4 class="method-subtitle parameter-title">Parameters</h4>
				<table class="argument-def parameter-def">
				
					<tr>
						<th scope="row" class="argument-name"><code>rangeController</code></th>
						<td><p>Sender.</p></td>
					</tr>
				
				</table>
			</div>
			

			
			<div class="method-subsection return">
				<h4 class="method-subtitle parameter-title">Return Value</h4>
				<p>the ASInterfaceState of the node that this controller is powering.  This allows nested range controllers
to collaborate with one another, as an outer controller may set bits in .interfaceState such as Visible.
If this controller is an orthogonally scrolling element, it waits until it is visible to preload outside the viewport.</p>
			</div>
			

			

			

			

			

			
			<div class="method-subsection declared-in-section">
				<h4 class="method-subtitle">Declared In</h4>
				<p><code class="declared-in-ref">ASRangeController.h</code></p>
			</div>
			
			
		</div>
	</div>
</div>
						</div>
						
					</div>
					
					

                    
                    
          
				</main>

				<footer>
					<div class="footer-copyright">
						
						<p class="copyright">Copyright &copy; 2016 AsyncDisplayKit. All rights reserved. Updated: 2016-11-05</p>
						
						
						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
						
					</div>
				</footer>
			</div>
		</div>
	</article>

	<script src="../js/script.js"></script>
</body>
</html>